package com.dkd.manage.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.dkd.common.annotation.Excel;
import com.dkd.common.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;

import java.util.Date;

/**
 * 设备管理对象 tb_vending_machine
 *
 * @author ruoyi
 * @date 2025-11-10
 */
public class VendingMachine extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键id */
    private Long id;

    /** 设备编号 */
    @Excel(name = "设备编号")
    private String innerCode;

    /** 设备容量 */
    @Excel(name = "设备容量")
    private Integer channelMaxCapacity;

    /** 点位Id */
    private Long nodeId;

    /** 详细地址 */
    @Excel(name = "详细地址")
    private String addr;

    /** 上次补货时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "上次补货时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date lastSupplyTime;

    /** 商圈类型 */
    @Excel(name = "商圈类型")
    private Integer businessType;

    /** 区域Id */
    private Long regionId;

    /** 区域名称 */
    @Excel(name = "区域名称")
    private String regionName;

    /** 合作商Id */
    private Long partnerId;

    /** 合作商名称 */
    @Excel(name = "合作商名称")
    private String partnerName;

    /** 设备型号 */
    @Excel(name = "设备型号")
    private Integer vmTypeId;

    /** 设备型号名称 */
    @Excel(name = "设备型号名称")
    private String vmTypeName;

    /** 设备状态，0:未投放;1-运营;3-撤机 */
    @Excel(name = "设备状态", readConverterExp = "0=未投放,1=运营,3=撤机")
    private Integer vmStatus;

    /** 运行状态 */
    @Excel(name = "运行状态")
    private String runningStatus;

    /** 经度 */
    @Excel(name = "经度")
    private Double longitudes;

    /** 维度 */
    @Excel(name = "维度")
    private Double latitude;

    /** 客户端连接Id,做emq认证用 */
    private String clientId;

    /** 策略id */
    private Long policyId;

    /** 点位名称（关联信息） */
    @Excel(name = "点位名称")
    private String nodeName;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }

    public void setInnerCode(String innerCode)
    {
        this.innerCode = innerCode;
    }

    public String getInnerCode()
    {
        return innerCode;
    }

    public void setChannelMaxCapacity(Integer channelMaxCapacity)
    {
        this.channelMaxCapacity = channelMaxCapacity;
    }

    public Integer getChannelMaxCapacity()
    {
        return channelMaxCapacity;
    }

    public void setNodeId(Long nodeId)
    {
        this.nodeId = nodeId;
    }

    public Long getNodeId()
    {
        return nodeId;
    }

    public void setAddr(String addr)
    {
        this.addr = addr;
    }

    public String getAddr()
    {
        return addr;
    }

    public void setLastSupplyTime(Date lastSupplyTime)
    {
        this.lastSupplyTime = lastSupplyTime;
    }

    public Date getLastSupplyTime()
    {
        return lastSupplyTime;
    }

    public void setBusinessType(Integer businessType)
    {
        this.businessType = businessType;
    }

    public Integer getBusinessType()
    {
        return businessType;
    }

    public void setRegionId(Long regionId)
    {
        this.regionId = regionId;
    }

    public Long getRegionId()
    {
        return regionId;
    }

    public void setRegionName(String regionName)
    {
        this.regionName = regionName;
    }

    public String getRegionName()
    {
        return regionName;
    }

    public void setPartnerId(Long partnerId)
    {
        this.partnerId = partnerId;
    }

    public Long getPartnerId()
    {
        return partnerId;
    }

    public void setPartnerName(String partnerName)
    {
        this.partnerName = partnerName;
    }

    public String getPartnerName()
    {
        return partnerName;
    }

    public void setVmTypeId(Integer vmTypeId)
    {
        this.vmTypeId = vmTypeId;
    }

    public Integer getVmTypeId()
    {
        return vmTypeId;
    }

    public void setVmTypeName(String vmTypeName)
    {
        this.vmTypeName = vmTypeName;
    }

    public String getVmTypeName()
    {
        return vmTypeName;
    }

    public void setVmStatus(Integer vmStatus)
    {
        this.vmStatus = vmStatus;
    }

    public Integer getVmStatus()
    {
        return vmStatus;
    }

    public void setRunningStatus(String runningStatus)
    {
        this.runningStatus = runningStatus;
    }

    public String getRunningStatus()
    {
        return runningStatus;
    }

    public void setLongitudes(Double longitudes)
    {
        this.longitudes = longitudes;
    }

    public Double getLongitudes()
    {
        return longitudes;
    }

    public void setLatitude(Double latitude)
    {
        this.latitude = latitude;
    }

    public Double getLatitude()
    {
        return latitude;
    }

    public void setClientId(String clientId)
    {
        this.clientId = clientId;
    }

    public String getClientId()
    {
        return clientId;
    }

    public void setPolicyId(Long policyId)
    {
        this.policyId = policyId;
    }

    public Long getPolicyId()
    {
        return policyId;
    }

    public void setNodeName(String nodeName)
    {
        this.nodeName = nodeName;
    }

    public String getNodeName()
    {
        return nodeName;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("innerCode", getInnerCode())
            .append("channelMaxCapacity", getChannelMaxCapacity())
            .append("nodeId", getNodeId())
            .append("addr", getAddr())
            .append("lastSupplyTime", getLastSupplyTime())
            .append("businessType", getBusinessType())
            .append("regionId", getRegionId())
            .append("regionName", getRegionName())
            .append("partnerId", getPartnerId())
            .append("partnerName", getPartnerName())
            .append("vmTypeId", getVmTypeId())
            .append("vmTypeName", getVmTypeName())
            .append("vmStatus", getVmStatus())
            .append("runningStatus", getRunningStatus())
            .append("longitudes", getLongitudes())
            .append("latitude", getLatitude())
            .append("clientId", getClientId())
            .append("policyId", getPolicyId())
            .append("nodeName", getNodeName())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}